package priv.happy.mealpickpro.service;

import priv.happy.mealpickpro.domain.UserMeal;
import priv.happy.mealpickpro.dto.UserDTO;
import priv.happy.mealpickpro.vo.UserVO;

/**
 * @Author: HAPPY
 * @Project_name: MealPick
 * @Package_name: priv.happy.mealpick.service
 * @Date: 2023/7/2 11:55
 * @Description:
 */
public interface AuthenticationService {
    /**
     * 用户登录
     * @param loginUser 登录用户
     * @return 返回结果
     */
    UserVO login(UserMeal loginUser);

    /**
     * 邮箱是否已被注册
     *
     * @param email 邮箱地址
     * @return 返回结果
     */
    boolean isRegistered(String email);

    /**
     * 注册
     * @param user 待注册的用户信息
     * @return 返回注册结果，0成功，1邮箱已使用，2用户信息不完善，3验证码错误，4其他错误
     */
    int register(UserDTO user);
}
